MongoDB安装

1、下载MongoDB(64位)

http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

http://pan.baidu.com/s/1mgyRB8c

2、安装MongoDB(安装到/usr/local)

1
2
3
4
5
6
7
8
9
10
11
12
13
tar zxvf mongodb-linux-x86_64-2.4.9.tgz
mv mongodb-linux-x86_64-2.4.9 mongodb
cd mongodb
mkdir db
mkdir logs
cd bin
vi mongodb.conf
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true

3、重新绑定mongodb的配置文件地址和访问IP

1
/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf

4、开机自动启动mongodb

1
2
vi /etc/rc.d/rc.local
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf

5、重启一下系统测试下能不能自启

进入mongodb的shell模式

/usr/local/mongodb/bin/mongo

查看数据库列表

show dbs

当前db版本

db.version();
db.auth(“theadmin”, “anadminpassword”)

以配置形式启动
./mongod -f /opt/mongodb/bin/mongodb.conf
用admin停止
./mongo
use amdin
db.shutdownServer();

不能用kill -9停止
正常停止方法:

ps aux | grep mongod

kill -2 PID

/home/local/mongodb/bin/mongo -port 20000

use admin
db.shutdownServer();

–dbpath
$ ./mongdb –dbpath /mongodb/
把数据存储位置指向一个自己的目录/mongodb/

修改默认端口:

–port
$ ./mongdb –port 20111
把服务端口修改为20111,这个一方面是为了安全,使用默认端口容易被一些恶意的人发现做手脚

启动后台服务:

–fork
在后台开启Mongdb服务
在使用这个方式启动的时候要注意两点:
1、该功能只在1.1之后的版本才可以使用。
2、另外通过这个方式在后台启动,如果在启动的时候像–dbpath 那样使用 –logpath 输出日志时候日志输出目录也要自己创建。
如:
$ ./mongod –fork –logpath /var/log/mongodb.log –logappend
解析最后–logappend,以追加的方式创建日志防止把之前的日志删除了

Mongodb的关闭:

前台运行:

如果没有使用–fork,直接可以前台退出终端关闭。通过这种方式,Mongodb将会自己做清理退出,把没有写好的数据写完成,并最终关闭数据文件。要注意的是这个过程会持续到所有操作都完成。

后台运行:

如果使用–fork在后台运行mongdb服务,那么就要通过向服务器发送shutdownServer()消息来关闭。

1、普通命令:
$ ./mongod

use admin
db.shutdownServer()

要注意的是,这个命令只允许在本地,或是一个经过认证的客户端。

2、如果这是一个主从式的复制集群,在1.9.1版本后将按下面的步骤来关闭
检查从Mongodb的数据更新时间
如果所有的从Mongodb和主的时间差都超过10,这个时候不会关闭mongodb(在这种情况下面,我们可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新)
如果其中有一个从Mongodb与主服务时间差在10秒内,那么主服务器将会关闭,并且等待从Mongodb更新完成并关闭。
3、如果没有up-to-date 从Mongodb且你想强制关闭服务,可以通过添加force:true;命令如下:

db.adminCommand({shutdown : 1, force : true})
//or
db.shutdownServer({force : true})

4、指定特定超时时间的关闭服务器,命令同上,另外加上一个timeoutsec:参数

db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
//or
db.shutdownServer({force : true, timeoutsec : 5})

Mongodb开机启动

在/etc/rc.local文件末尾添加下面的代码

#add mongodb service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod –dbpath=/data/mongdb_data/ –logpath=/data/mongdb_log/mongodb.log –logappend &

查看数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
> db.stats();
{
"db" : "test", //当前数据库
"collections" : 3, //当前数据库多少表
"objects" : 4, //当前数据库所有表多少条数据
"avgObjSize" : 51, //每条数据的平均大小
"dataSize" : 204, //所有数据的总大小
"storageSize" : 16384, //所有数据占的磁盘大小
"numExtents" : 3,
"indexes" : 1, //索引数
"indexSize" : 8176, //索引大小
"fileSize" : 201326592, //预分配给数据库的文件大小
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"ok" : 1
}

2,查看数据库表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
> db.posts.stats();
{
"ns" : "test.posts",
"count" : 1,
"size" : 56,
"avgObjSize" : 56,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器